02. Clustering

Clustering

Graphic

Clustering of a car and bicycle

source : https://ieeexplore.ieee.org/document/7226315

Clustering of a car and bicycle

source : https://ieeexplore.ieee.org/document/7226315

Project Overview

For enhanced perception in autonomous driving, there is a need to track multiple targets separately. The object tracking is computationally expensive and tracking multiple targets simultaneously requires lots of processing power and memory.

Due to the advancements in radar technology and increasing sensing resolutions, a radar can generate detections from plentitude of scattering points on the target. If a tracker is assigned to every detection from the same target, then it can overburden the processing unit. Hence, it is important to cluster the detections from every target and assign a single track for each.

This is where the clustering algorithm becomes important for successful object tracking.

L4A21 Clustering - Concept V2

System Requirements

Here we will discuss the basic clustering algorithm based on the euclidean distance. The algorithm here groups the detection points based on their proximity measured by the euclidean distance between those points.

All the detection points that are within the size of the target are considered as one cluster, merged into a centroid position. Each cluster is now assigned a new range and velocity, which is the mean of measured range and velocity of all the detection points that form the cluster.

This allows valid tracking for each target.

Clustering

Clustering

Above is an illustration of the clustering scenario. In the image the blue car is an ego vehicle (vehicle with sensor) and the detections are generated from the orange and yellow vehicles. Using clustering algorithm all the detections associated with the single target are merged into one point. This helps in the detection and assigning the tracks to a target.

Matlab Implementation of Clustering

L4A27 - Example

MATLAB implementation of Clustering Algorithm

Signal Propagation and Moving Target Scenario

The clustering implementation above uses the following steps:

  1. If the detections are from same sensor, then loop through every single detection point and measure the euclidean distance between all of them.
  2. Keep running the loop until the detection list is empty

Implement the following within the while loop:

  1. Pick the first detection in the check list and check for its clustering neighbors.

  2. If the distance between the first pick and remaining detections is less than the vehicle size, then group those detections and their respective radar sensor measurements, including range and velocity.

  3. For the group, take the mean of the range and velocity measurements.

    Note: the radar measurement vector has 6 values - where range and velocity for x and y coordinates reside at indices 1,2, 4, and 5: [x, y, - , Vx, Vy, -]

  4. Create a new Cluster ID. Then, assign all the group detections to the same ID.

  5. Further, assign cluster, the mean range and velocity.

  6. In the end, delete from the list the detections which have already been assigned to a cluster.

  7. Keep repeating the process until the detection list is empty.

QUIZ QUESTION: :

Match the responses with the scenarios described below.

ANSWER CHOICES:



Grouping Distance vs. Target Length

Tracks vs. Target

Single track will get assigned to two or more closely located targets

Multiple Tracks will be assigned to a single target

SOLUTION:

Grouping Distance vs. Target Length

Tracks vs. Target

Single track will get assigned to two or more closely located targets

Multiple Tracks will be assigned to a single target